Adaptive content delivery

ABSTRACT

A method and apparatus that provides adaptation in the content delivered to a palmtop computer. Connections between a palmtop computer and the Internet can vary from low speed dial-up to very high speed. Also, a palmtop computer&#39;s display, memory and processing power can vary considerably. Communication with the Internet is generally through a proxy server that can deduce these considerations from the palmtop computer&#39;s serial number and/or other information specified by user. The proxy server can then adapt the content based upon these considerations (e.g. only send two bit gray scale images to non-color palmtop computer, only send first frame of animated gif to low processing power palmtop computer, etc.).

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of application Ser. No. 11/751,640,entitled “Adaptive Content Delivery”, filed May 22, 2007, to be issuedas U.S. Pat. No. 7,671,869, which is a continuation application ofapplication Ser. No. 09/771,265, entitled “Adaptive Content Delivery”,filed Jan. 26, 2001, now U.S. Pat. No. 7,221,370, and assigned to theassignee of the present application. The subject matter in theabove-identified commonly owned application is incorporated herein byreference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to the field of adaptive content deliveryand in particular to adaptive content delivery to a palmtop computer.

2. Background

As the components required to build a computer system have reduced insize, new categories of computer systems have emerged. One of the newcategories of computer systems is the “palmtop” computer system. Apalmtop computer system is a computer that is small enough to be held inthe hand of a user and can be “palm-sized.” Most palmtop computersystems are used to implement various Personal Information Management(PIM) applications such as an address book, a daily organizer andelectronic notepads, to name a few.

While these palm sized computers (“palmtop” computers) have dramaticallyreduced size when compared to a desktop or notebook computer, the userwould like to be able to perform many of the same types of functions,such as accessing content on the Internet, performed using physicallylarger and more powerful computers. The existing infrastructure (e.g.,the Internet) has a wealth of content that the users of palmtopcomputers wish to access, but since this infrastructure was developedfor more powerful computers, it is often difficult for users of palmtopcomputers to readily take advantage of the content available. Moreover,the existing palmtop computers have varying levels of processing power,communication power, display power and other attributes. As this classof computer evolves, such attributes will be ever changing as thetechnology permits greater power, more memory, and better displaycapabilities. There is currently no way to adapt the content to thegrowing power available in palmtop computers.

SUMMARY OF THE INVENTION

Accordingly, what is needed is a system with the ability to adapt to thevarying capabilities of palmtop computers and connection methods as theyevolve.

A method and apparatus that provides adaptation in the content deliveredto a palmtop computer. Connections between a palmtop computer and theInternet can vary from low speed dial-up to very high speed. Also, apalmtop computer's display, memory and processing power can varyconsiderably. Communication with the Internet is generally through aproxy server that can deduce these considerations in any number of ways.The proxy server can then adapt the content based upon theseconsiderations (e.g. only send two bit gray scale images to non-colorpalmtop computer; only send first frame of animated gif to lowprocessing power palmtop computer, etc.). This provides an advantage ofmatching the capabilities of the palmtop computer with the richness ofthe content delivered to optimize the transmission time and processingpower required to enhance the user's experience.

A method of adapting content for transmission to a palmtop computerconsistent with an embodiment of the invention includes: receiving anidentifier from the palmtop computer; determining a profile fordownloading information to the palmtop computer; and adapting content tobe transmitted to the palmtop computer based upon the profile.

A method of adapting content for transmission to a palmtop computerconsistent with an embodiment of the present invention includes:receiving an identifier from the palmtop computer, the identifiercomprising a serial number and a request header transmitted from thepalmtop computer; determining a processing power for a processorresiding within the palmtop computer by reference to the identifier;determining a display resolution parameter and a display color handlingability for a display of the palmtop computer by reference to theidentifier; determining a display parameter for a display of the palmtopcomputer by reference to the identifier; determining an amount of memoryavailable to the palmtop computer from the identifier; determining adata transmission format; determining a transmission speed fortransmission to the palmtop computer; selecting a profile fordownloading information to the palmtop computer; and adapting content tobe transmitted to the palmtop computer based upon the profile.

A storage medium storing instructions which, when executed on aprogrammed processor, carry out a process consistent with embodiments ofthe present invention of adapting content for transmission to a palmtopcomputer includes: receiving an identifier from the palmtop computer;determining a profile for downloading information to the palmtopcomputer; and adapting content to be transmitted to the palmtop computerbased upon the profile.

The above summaries are intended to illustrate exemplary embodiments ofthe invention, which will be best understood in conjunction with thedetailed description to follow, and are not intended to limit the scopeof the appended claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is system illustration of a palmtop computer system connected toother computer systems and the Internet via a cradle device.

FIG. 2A is a top side perspective view of a palmtop computer system thatcan be used as a platform for data entry.

FIG. 2B is a bottom side perspective view of the palmtop computer systemof FIG. 2A.

FIG. 3 is an exploded view of the components of the palmtop computersystem of FIG. 2A.

FIG. 4 is a perspective view of the cradle device for connecting thepalmtop computer system to other systems via a communication interface.

FIG. 5 is a logical block diagram of the palmtop computer system inaccordance with an embodiment of the present invention.

FIG. 6 illustrates several possible communication and displaycapabilities in palmtop computers communicating with the Internet.

FIG. 7 is a flow chart illustrating an embodiment of the presentinvention.

DETAILED DESCRIPTION OF THE INVENTION

In the following detailed description of the present invention, numerousspecific details are set forth in order to provide a thoroughunderstanding of the present invention. However, it will be recognizedby one skilled in the art that the present invention may be practicedwithout these specific details or with equivalents thereof. In otherinstances, well known methods, procedures, components, and circuits havenot been described in detail as not to unnecessarily obscure aspects ofthe present invention.

Notation and Nomenclature

Some portions of the detailed descriptions which follow are presented interms of procedures, steps, logic blocks, processing, and other symbolicrepresentations of operations on data bits that can be performed oncomputer memory. These descriptions and representations are the meansused by those skilled in the data processing arts to most effectivelyconvey the substance of their work to others skilled in the art. Aprocedure, computer executed step, logic block, process, etc., is here,and generally, conceived to be a self-consistent sequence of steps orinstructions leading to a desired result. The steps are those requiringphysical manipulations of physical quantities.

Usually, though not necessarily, these quantities take the form ofelectrical or magnetic signals capable of being stored, transferred,combined, compared, and otherwise manipulated in a computer system. Ithas proven convenient at times, principally for reasons of common usage,to refer to these signals as bits, values, elements, symbols,characters, terms, numbers, or the like.

It should be borne in mind, however, that all of these and similar termsare to be associated with the appropriate physical quantities and aremerely convenient labels applied to these quantities. Unlessspecifically stated otherwise as apparent from the followingdiscussions, it is appreciated that throughout the present invention,discussions utilizing terms such as “processing” or “computing” or“translating” or “calculating” or “determining” or “scrolling” or“displaying” or “recognizing” or the like, refer to the action andprocesses of a computer system, or similar electronic computing device,that manipulates and transforms data represented as physical(electronic) quantities within the computer system's registers andmemories into other data similarly represented as physical quantitieswithin the computer system memories or registers or other suchinformation storage, transmission or display devices.

Adaptive Content Delivery in Accordance with the Present Invention

While this invention is susceptible of embodiment in many differentforms, there is shown in the drawings and will herein be described indetail specific embodiments, with the understanding that the presentdisclosure is to be considered as an example of the principles of theinvention and not intended to limit the invention to the specificembodiments shown and described. In the description below, likereference numerals are used to describe the same, similar orcorresponding parts in the several views of the drawings.

FIG. 1 illustrates a system 50 including a host computer system 56 whichcan either be a desktop unit as shown, or, alternatively, can be alaptop system 58. Optionally, one or more host computer systems can beused within system 50. Host computer systems 58 and 56 are shownconnected to a communication bus 54, which in one embodiment can be aserial communication bus, but could be of any of a number of well knowndesigns, e.g., a parallel bus, Ethernet Local Area Network (LAN), etc.Optionally, bus 54 can provide communication with the Internet 52 usinga number of well known protocols.

Bus 54 is also coupled to a cradle 60 for receiving and initiatingcommunication with a palmtop (“palm-sized”) portable computer system 100of the present invention. Cradle 60 provides an electrical andmechanical communication interface between bus 54 (and anything coupledto bus 54) and the computer system 100 for two way communications.Computer system 100 also contains a wireless infrared communicationmechanism 64 for sending and receiving information from other devices.

FIG. 2A is a perspective illustration of the top face 100 a of oneembodiment of the palmtop computer system of the present invention. Thetop face 110 a contains a display screen 105 surrounded by a bezel orcover. A removable stylus 80 is also shown. The display screen 105 is atouch screen able to register contact between the screen and the tip ofthe stylus 80. The stylus 80 can be of any material to make contact withthe screen 105. The top face 100 a also contains one or more dedicatedand/or programmable buttons 75 for selecting information and causing thecomputer system to implement functions. The on/off button 95 is alsoshown.

FIG. 2A also illustrates a handwriting recognition pad or “digitizer”containing two regions 106 a and 106 b. Region 106 a is for the drawingof alphabetic characters therein for automatic recognition and region106 b is for the drawing of numeric characters therein for automaticrecognition. The stylus 80 is used for stroking a character within oneof the regions 106 a and 106 b. The stroke information is then fed to aninternal processor for automatic character recognition. Once charactersare recognized, they are typically displayed on the screen 105 forverification and/or modification.

FIG. 2B illustrates the bottom side 100 b of one embodiment of thepalmtop computer system of the present invention. An optional extendibleantenna 85 is shown and also a battery storage compartment door 90 isshown. A communication interface 108 is also shown. In one embodiment ofthe present invention, the serial communication interface 108 is aserial communication port, but could also alternatively be of any of anumber of well known communication standards and protocols, e.g.,parallel, SCSI, Firewire (IEEE 1394), Ethernet, USB (Universal SerialBus), etc. In addition to providing the serial interface, some versionsof palmtop computers consistent with the present invention includecharging terminals for charging internal batteries through the cradleconnection at interface 108. Accordingly, interface 108 typicallycomprises approximately ten to twelve electrical connector terminals.

FIG. 3 is an exploded view of the palmtop computer system 100 inaccordance with one implementation. System 100 contains a front cover210 having an outline of region 106 and holes 75 a for receiving buttons75 b. A flat panel display 105 (both liquid crystal display and touchscreen) fits into front cover 210. Any of a number of displaytechnologies can be used, e.g., LCD, FED, plasma, etc., for the flatpanel display 105. A battery 215 provides electrical power. A contrastadjustment (potentiometer) 220 is also shown. On/off button 95 is shownalong with an infrared emitter and detector device 64. A flex circuit230 is shown along with a PC board 225 containing electronics and logic(e.g., memory, communication bus, processor, etc.) for implementingcomputer system functionality. The digitizer pad is also included in PCboard 225. A midframe 235 is shown along with stylus 80. Positionadjustable antenna 85 is shown.

A radio receiver/transmitter device 240 is also shown between themidframe and the rear cover 245 of FIG. 3. The receiver/transmitterdevice 240 is coupled to the antenna 85 and also coupled to communicatewith the PC board 225. In one implementation the Mobitex wirelesscommunication system is used to provide two way communication betweensystem 100 and other networked computers and/or the Internet via a proxyserver.

FIG. 4 is a perspective illustration of one embodiment of the cradle 60for receiving the palmtop computer system 100. Cradle 60 contains amechanical and electrical interface 260 for interfacing with serialconnection 108 (FIG. 2B) of computer system 100 when system 100 is slidinto the cradle 60 in an upright position. Once inserted, button 270 canbe pressed to initiate two way communication between system 100 andother computer systems coupled to serial communication 265.

FIG. 5 illustrates circuitry of computer system 100, some of which canbe implemented on PC board 225. Computer system 100 includes anaddress/data bus 100 for communicating information, a central processor101 coupled with the bus for processing information and instructions, avolatile memory 102 (e.g., random access memory RAM) coupled with thebus 100 for storing information and instructions for the centralprocessor 101 and a non-volatile memory 103 (e.g., read only memory ROM)coupled with the bus 100 for storing static information and instructionsfor the processor 101. Computer system 110 also includes an optionaldata storage device 104 (e.g., memory stick, SD memory, etc.) coupledwith the bus 100 for storing information and instructions, Device 104can be removable. As described above, system 100 also contains a displaydevice 105 coupled to the bus 100 for displaying information to thecomputer user. PC board 225 can contain the processor 101, the bus 100,the ROM 103 and the RAM 102.

Also included in computer system 110 of FIG. 5 is an optionalalphanumeric input device 106 which in one implementation is ahandwriting recognition pad (“digitizer”) having regions 106 a and 106 b(FIG. 2A), for instance. Device 106 can communicate information andcommand selections to the central processor 101. System 110 alsoincludes an optional cursor control or directing device 107 coupled tothe bus for communicating user input information and command selectionsto the central processor 101. In one implementation, device 107 is atouch screen device incorporated with screen 105. Device 107 is capableof registering a position on the screen 105 where the stylus makescontact. The display device 105 utilized with the computer system 110may be a liquid crystal device, cathode ray tube (CRT), field emissiondevice (FED, also called flat panel CRT) or other display devicesuitable for creating graphic images and alphanumeric charactersrecognizable to the user. In the preferred embodiment, display 105 is aflat panel display.

Signal communication device 108, also coupled to bus 100, can be aserial port for communicating with the cradle 60. Device 108 can alsoinclude an infrared communication port.

Referring now to FIG. 6, a plurality of Palmtop Computers areillustrated interacting with a wireless or wired data network. In thisfigure, palmtop computer 602 having color display 608 communicates viaits antenna with one of a plurality of base stations 614 comprising anetwork of such base stations of a wireless/Internet service provider.Each of the base stations 614 is connected to a data center 620, eitherdirectly or via the Internet 52. In addition, data center 620 isconnected to the Internet 52 which places all of the capabilities of theInternet and the World Wide Web at the disposal of the data center 620.

The data center 620 can provide a number of services to palmtopcomputers including a service called “Web clipping” via a Web clippingproxy server within the data center 620. “Web clipping” is a process bywhich a palmtop computer can effectively provide Internet services tothe user within its environment of limited communication bandwidth,limited memory, limited display and limited processing capabilities. Theconcept of Web clipping is based on a principal of minimizing the amountof information that is communicated to and from palmtop computer. Thatis, the less data transferred the more efficient the communicationsystem. The query is then submitted to the data center 620 in the formof a very small message (typically less than 50 bytes).

The data center 620 serves as an interface to the internet 52 whichpulls the desired information from the internet and returns a responseto the palmtop computer in a response which is typically less than 500bytes compressed. As a result, the user is able to quickly obtain theinformation desired from a particular Web page and display Web pages onthe varying resolution display of palmtop computers. Web clipping isdescribed in greater detail in U.S. patent application Ser. No.09/087,515 Filed May 29, 1998 entitled “Method and Apparatus forCommunicating Information Over Low Bandwidth Communications Network”,naming Hawkins et al. This application is hereby incorporated byreference.

This approach has the benefits of providing near instant access to theInternet while simultaneously providing low cost of service bycontrolling the airtime usage. This in turn results in long battery lifesince transmissions from palmtop computer may be a substantial drain onbatteries.

The Web clipping proxy server in data center 620 is responsible forconverting standard Internet protocols and content from a Web page intoa form that is tuned for transmission across a wireless network and fordisplay on a very thin client device such as a palmtop computer. The Webclipping proxy server uses standard Internet and security protocols(TCP, HTTP and SSL) to HTML servers to insure compatibility. However, onthe wireless side, it adjusts everything to support extremely lowbandwidth and latency. Moreover, the Web clipping proxy servercompresses the data from the Internet to insure maximum transmissionefficiency in the wireless environment. Data center 620 having Webclipping proxy server is currently implemented for the commerciallyavailable Palm VII wireless palmtop computer system as a service calledPalm.net™ operated by Palm Computing, Inc.

Web clipping has been found to be a very effective method for providingInternet content to users of palmtop computers. However, as theabilities of such palmtop computers evolve, their ability to deal withmore complex content needs to be addressed so that the user can enjoy aricher experience with using content from the Internet 52 or othersources. In the example shown in FIG. 6, palmtop computer 602 has theability to communicate at 9600BPS via its wireless communicationcapabilities and has a color display However, consider palmtop computer618 also having a color display 624 and a high speed 4 MBPS infraredconnection to the Internet 52 through LAN hub 622. Obviously, thispalmtop computer could potentially receive data at a much higher rateand, providing palmtop computer 618 has the available processing power,memory, etc., it could deal with a greater inflow of information withoutannoying the user with unnecessary delays than that of palmtop computer602.

Palmtop computer 630 includes a monochrome display 634 and is connectedat a higher communication rate of 19.2 KBPS through cellular telephone640 than the communication rate of palmtop computer 602, but at a lowerrate than that of palmtop computer 618. Depending upon the processingpower of the palmtop computers' internal CPU, the amount of memory,connection speed, display type, display resolution, connection speed,etc., it would be desirable to adapt the content delivered to thepalmtop computer to obtain a good compromise of performance speed versusrichness of content.

Referring now to FIG. 7, a high level flow chart of a process 700illustrates an embodiment consistent with the present invention toprovide adaptive content delivery starting at 702, At 706, an identifieris received by the proxy server at data center 620. In the preferredembodiment, this identifier may include the serial number of the palmtopcomputer itself. In other embodiments, a header may be transmitted asthe identifier or in addition to the identifier, with the headerincluding information such as an amount of RAM memory in the palmtopcomputer or other relevant parameters. In other embodiments, the headermay simply designate a class of palmtop computer that identifies thegeneral capabilities of the palmtop computer. Many variations of suchidentifiers can be devised by those skilled in the art.

The palmtop computer's abilities are looked up in a database at 710 bythe identifier (or header information) so that the palmtop computer'scharacteristics can be determined, The palmtop computer's capabilitiescan be determined in any number of ways (e.g. by serial number, modelnumber, device type, etc. as shown in TABLE 3). Such data can beautomatically delivered in a web clipping request packet and used as akey to the database at 701. Connection speed can be stored in thedatabase, but is preferably determined dynamically, for example, bymeasuring round trip time for a so-called “ping” request or querying thewireless network provider. If the palmtop computer is manufactured by aprovider of services to the data center 620, the serial number or otheridentifier can be used to look up relevant information needed todetermine the capabilities of the palmtop computer. Otherwise, theheader information can be formatted to contain all needed information.At 714, once the data center knows the abilities of the palmtopcomputer, the content can be adapted to the abilities of the palmtopcomputer during the ensuing communication session at 718 by conformingthe adaptation process to a particular profile suitable to the palmtopcomputer at hand. The process ends at 724 when the communication sessionis terminated.

The adaptation process of 714 can take many forms depending on thenature of the capabilities of the palmtop computer. Thus, the exemplaryembodiments described as follow are merely intended to be illustrativeof the principles of the present invention and not limiting to the scopeof the invention. Consider, for example, a palmtop computer havingcomparatively low processing power, connected by a low speed connection,having a monochrome low resolution display. Such a palmtop computermight be consistent with a first generation of palmtop computers whichare currently still widely in use. In general, it is desirable tominimize the amount of data communicated with such palmtop computers dueto their limited processing power, display capabilities and connectionspeed. Thus, for example, Internet content with high resolution, richcolors (e.g., 32 bit color resolution) and animated GIF icons would beannoying to the user due to the large download time. Moreover, receivingand processing such content could rapidly drain the batteries of such apalmtop computer. Accordingly, it is advantageous that the content bematched to the palmtop computer's abilities. Thus, such content can beprocessed by converting color images to lower resolution two bit grayscale images that require less data and processing power to generate.Additionally, animated GIF icons can be truncated so that only the firstframe of the icon is transmitted to eliminate the animation but give theuser a usable icon, further reducing the amount of data and processingpower required.

As described above, this can be accomplished by reference to informationstored in a table such as TABLE 1 below in the data center 620. Manyvariations in the content of TABLE 1 are possible without departing fromthe invention. In this exemplary case, the palmtop computer of interestmight correspond to serial number 123456. The connect speed shown anddata format (e.g., Mobitex or CDMA), can be deduced from the incomingcommunication from the palmtop computer or can be a registeredparameter. It is noted that for this exemplary embodiment, the variousattributes of the palmtop computers may be classified coarsely as shown(e.g., low and high, monochrome and color). Such coarse designations maybe adequate to determine how to adapt the content, however, this is notto be limiting since these attributes can be more exactly defined (e.g.processing power in MIPS, etc., connection speed in KBPS, etc.) withoutdeparting from the invention.

TABLE 1 Serial Display Display CPU Connect Speed (may be Number TypeResolution Power dynamically deduced) 123456 Monochrome Low Low Low234567 Color Low Low Low 345678 Monochrome Low Low Low 456789 MonochromeHigh High Low 567890 Color High High High

In the example above, the content is adapted according to parametersdesigned to suit the palmtop computer of interest. In TABLE 2 below, theparameters used for transmitting content to the palmtop computer isillustrated. Thus, TABLE 2 is used to determine an appropriate profilefor carrying out the adaptation.

TABLE 2 Animated Audio Sample Display Serial Number GIF Color rateResolution 123456 First frame  2 bit grey Low Low 234567 First frame  8bit color Low Low 345678 First frame  2 bit grey Low Low 456789 Firstframe  4 bit grey High High 567890 Yes 16 bit color High High

Now consider palmtop computer serial number 567890. This palmtopcomputer has substantially greater capabilities than that previouslydescribed. In this case, animated GIF icons and other images can behandled by the higher processing power of the CPU. Moreover, higherresolution color images (that take large amounts of data to describe)can be handled reasonably as 16 bit color images with higher resolutiondue to the higher processing power, richer display and higher connectspeed.

In an alternative to the examples given above, a set of classes ofpalmtop computers can be established so that the identifier transmittedby the palmtop computer might need to only be a designation of class. Inthis case, the class designation can carry with it all of theinformation necessary to carry out the appropriate adaptation byreference to a table such as TABLE 3 below to determine an appropriateprofile for carrying out the adaptation. In still other embodiments,each relevant parameter can be transmitted as the identifier in theheader to the proxy server without departing from the invention. It willbe clear to those skilled in the art that the required information canbe formatted to use a minimal amount of data so that the overheadrequired to implement the present invention is minimized.

TABLE 3 Palmtop Animated Audio Sample Display Class GIF Color rateResolution 01 First frame  2 bit grey None Low 02 First frame  8 bitcolor Low Low . . . . . . . . . . . . . . . 99 Yes 32 bit color HighHigh

As previously described, the examples above are considered only asillustrative of the concept of the present invention. Optimization ofthe various parameters is needed to achieve the best compromise betweenprocessing and download time on one side and richness of content on theother. While this example uses only coarse measurements (e.g., high andlow), the present invention contemplates use of more exact parameters.Moreover, many such parameters may be handled to optimize the presentinvention including memory, screen size, compression level, audio andvideo abilities, etc. It is contemplated that the present invention willbe carried out using a programmed processor residing on the proxy serverwithin the data center 620 Accordingly, the program instructions forcarrying out the processes of the invention can be stored on anysuitable electronic storage medium for processing on such server.

Those skilled in the art will recognize that the present invention hasbeen described in terms of exemplary embodiments based upon use of aprogrammed processor. However, the invention should not be so limited,since the present invention could be implemented using hardwarecomponent equivalents such as special purpose hardware and/or dedicatedprocessors which are equivalents to the invention as described andclaimed. Similarly, general purpose computers, microprocessor basedcomputers, micro-controllers, optical computers, analog computers,dedicated processors and/or dedicated hard wired logic may be used toconstruct alternative equivalent embodiments of the present invention.

Those skilled in the art will also appreciate that the embodimentsdescribed above can be implemented using disc storage as well as otherforms of storage including Read Only Memory (ROM) devices, Random AccessMemory (RAM) devices; optical storage elements, magnetic storageelements, magneto-optical storage elements, flash memory, core memoryand/or other equivalent storage technologies without departing from thepresent invention. Such alternative storage devices should be consideredequivalents.

The present invention is preferably implemented using a programmedprocessor executing programming instructions that are broadly describedabove in flow chart form and can be stored on any suitable electronicstorage medium. However, those skilled in the art will appreciate thatthe processes described above can be implemented in any number ofvariations and in many suitable programming languages without departingfrom the present invention. For example, the order of certain operationscarried out can often be varied, and additional operations can be addedwithout departing from the invention. Error trapping can be added and/orenhanced and variations can be made in user interface and informationpresentation without departing from the present invention. Suchvariations are contemplated and considered equivalent.

While the invention has been described in conjunction with specificembodiments, it is evident that many alternatives, modifications,permutations and variations will become apparent to those skilled in theart in light of the foregoing description. Accordingly, it is intendedthat the present invention embrace all such alternatives, modificationsand variations as fall within the scope of the appended claims.

1. A computer-implemented method of converting a web page for display onan electronic device, the steps of the method comprising: receiving aquery at a data center, the data center comprising one or moreprocessors, from an electronic device wherein the query requests a webpage and is associated with an identifier of the electronic device;using the one more processors of the data center to receive from theInternet the requested web page in accordance with the query; using theone or processors of the data center to access a database using theidentifier of the electronic device to retrieve an ability of theelectronic device, the ability including a capability of a display ofthe electronic device; using the one or more processors of the datacenter to convert the requested web page according to the ability of theelectronic device; and using the one or more processors of the datacenter to transmit the converted web page to the electronic device.
 2. Acomputer-implemented method of converting a web page for display on anelectronic device comprising: receiving a query at a data center, thedata center comprising one or more processors, from an electronic devicewherein the query requests a web page and is associated with a class ofthe electronic device; using one or more processors of the data centerto receive from the Internet the requested web page according to thequery; using one or more processors of the data center to access adatabase using the class of the electronic device to retrieve an abilityof the electronic device, the ability including a capability of adisplay of the electronic device; using the one or more processors ofthe data center to convert the requested web page according to theability of the electronic device; and using the one or more processorsof the data center to transmit the converted web page to the electronicdevice.
 3. The computer-implemented method according to claim 1, whereinthe electronic device is one of the following: a portable computer, atelevision, an internet appliance, a mobile phone, a smart phone, amedia server, a handheld, a video game console, a camera, and a set-topbox.
 4. The computer-implemented method according to claim 1, wherein aportion of the conversion process is performed by a processor of theelectronic device after the converted web page is transmitted to theelectronic device.
 5. The computer-implemented method according to claim1, wherein the query received at the data center is less than 50 bytes.6. The computer-implemented method according to claim 1, wherein theconverted web page is less than 500 bytes compressed.
 7. Thecomputer-implemented method according to claim 1, wherein the connectionspeed is determined dynamically.
 8. The computer-implemented methodaccording to claim 1, wherein the ability of the electronic deviceincludes parameters describing the memory, compression, audio and videocapabilities.
 9. The computer-implemented method according to claim 2,wherein the class of electronic device is selected from one of thefollowing classes: portable computer, television, internet appliance,mobile phone, smart phone, media server, handheld, video game console,camera, and set-top box.
 10. The computer-implemented method accordingto claim 2, wherein a portion of the conversion process is performed bya processor of the electronic device after the converted web page istransmitted to the electronic device.
 11. The computer-implementedmethod according to claim 2, wherein the query received at the datacenter is less than 50 bytes.
 12. The computer-implemented methodaccording to claim 1, wherein the converted web page is less than 500bytes compressed.
 13. The computer-implemented method according to claim1, wherein the connection speed is determined dynamically.
 14. Thecomputer-implemented method according to claim 1, wherein the ability ofthe electronic device includes parameters describing the memory,compression, audio and video capabilities.
 15. A non-transitory computerstorage medium storing instructions that when executed on a programmedprocessor carry out the method of converting a web page for display onan electronic device comprising: receiving a query from an electronicdevice wherein the query requests a web page and is associated with anidentifier of the electronic device; receiving from the Internet therequested web page in accordance with the query; accessing a databaseusing the identifier of the electronic device to retrieve an ability ofthe electronic device, the ability including a capability of a displayof the electronic device; converting the requested web page according tothe ability of the electronic device; and transmitting the converted webpage to the electronic device.
 16. The non-transitory computer storagemedium according to claim 15, wherein the instructions compriseconverting a web page for at least one of a portable computer, atelevision, an internet appliance, a mobile phone, a smart phone, amedia server, a handheld, a video game console, a camera, and a set-topbox.
 17. The non-transitory computer storage medium according to claim15, further comprising instructions for a processor of the electronicdevice to perform a portion of the conversion step after the convertedweb page has been transmitted to the electronic device.